from app import create_app, db
from app.models import User, Skill, Article

app = create_app()

with app.app_context():
    # 创建所有表
    db.create_all()
    
    # 检查是否已有管理员用户
    admin = User.query.filter_by(username='admin').first()
    if not admin:
        # 创建管理员账户
        admin = User(username='admin', name='管理员', role='admin')
        admin.set_password('admin123')
        db.session.add(admin)
        db.session.commit()
        print('已创建管理员账户：')
        print('用户名: admin')
        print('密码: admin123')
        print('请登录后立即修改默认密码！')
    else:
        print('管理员账户已存在，跳过创建。')
    
    # 创建一些初始技能标签
    initial_skills = [
        '编程', 'Python', '数据分析', '机器学习', 
        '实验设计', '文献检索', '论文写作', '仪器操作'
    ]
    
    for skill_name in initial_skills:
        if not Skill.query.filter_by(name=skill_name).first():
            skill = Skill(name=skill_name)
            db.session.add(skill)
    
    db.session.commit()
    print(f'已创建{len(initial_skills)}个初始技能标签')
    
    print('数据库初始化完成！')